package com.chisheng.caa.service;

import com.chisheng.caa.pojo.ImportCourseSetting;
import com.chisheng.caa.pojo.dto.CourseDTO;

import java.net.URL;

/**
 * 导入课程服务。操作失败以异常信息给出。
 */
public interface ImportCourseService extends CRUD<CourseDTO>, SupportSetting<ImportCourseSetting> {

    /**
     * 打开导入服务。返回服务的访问键（Access-Key）。
     *
     * @return 访问键
     */
    String open();

    /**
     * 从文件中导入课程
     *
     * @param accessKey 访问键
     * @param url       文件资源定位符
     */
    default void load(String accessKey, URL url) {
        throw new UnsupportedOperationException();
    }

    /**
     * 课程写入
     *
     * @param accessKey 访问键
     */
    void write(String accessKey);

}
